package com.gep.entity;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "tb_item_solicitacao")
public class ItemSolicitacao {
	
	public Integer codItemSolicitacao;
	
	public Solicitacao solicitacao;
	
	public Peca peca;
	
	public Integer quantidade;
	
	public Integer quantidadeDevolvida;
	
	public Ocorrencia ocorrencia;
	
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "cod_item_solicitacao")
	public Integer getCodItemSolicitacao() {
		return codItemSolicitacao;
	}

	public void setCodItemSolicitacao(Integer codItemSolicitacao) {
		this.codItemSolicitacao = codItemSolicitacao;
	}
	
    @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE},targetEntity=Solicitacao.class )
    @JoinColumn(name="cod_solicitacao")
	public Solicitacao getSolicitacao() {
		return solicitacao;
	}

	public void setSolicitacao(Solicitacao solicitacao) {
		this.solicitacao = solicitacao;
	}
	
	@OneToOne
    @JoinColumn(name="cod_peca")
	public Peca getPeca() {
		return peca;
	}

	public void setPeca(Peca peca) {
		this.peca = peca;
	}

    @Column(name="quantidade")
	public Integer getQuantidade() {
		return quantidade;
	}

	public void setQuantidade(Integer quantidade) {
		this.quantidade = quantidade;
	}

    @Column(name="qtd_devolvida")
	public Integer getQuantidadeDevolvida() {
		return quantidadeDevolvida;
	}

	public void setQuantidadeDevolvida(Integer quantidadeDevolvida) {
		this.quantidadeDevolvida = quantidadeDevolvida;
	}

	@OneToOne (cascade=CascadeType.ALL)
    @JoinColumn(name="cod_ocorrencia")
	public Ocorrencia getOcorrencia() {
		return ocorrencia;
	}

	public void setOcorrencia(Ocorrencia ocorrencia) {
		this.ocorrencia = ocorrencia;
	}

}
